其他
软件应用 | 数据科学系列:plotly可视化入门介绍
The following article is from 小数志 Author luanhz
本文转载自公众号小数志
导读
在入道数据岗位之初,曾系列写过多个数据科学工具包的入门教程,包括 Numpy
、Pandas
、Matplotlib
、Seaborn
、Sklearn
等,这些也构成了自己当初的核心工具栈。在这5个工具包中,用于数据绘图的有2.5个(Pandas可以算0.5个),占比之高定与当时一度"沉迷"于简单而有效的可视化有关,可谓乐此不疲。时隔一年有余,在不断接触了Plotly这个可视化新贵之后,近期终于正式学习了一下这个包的使用、特性及优劣,并稍作整理、以资后鉴,遂成此文!
Part1为什么学习plotly
plotly.py
。Part2plotly能干什么
The plotly Python library is an interactive, open-source plotting library that supports over 40 unique chart types covering a wide range of statistical, financial, geographic, scientific, and 3-dimensional use-cases.
Part3plotly如何绘图
express
: plotly中用于可视化的高级APIgraph_objects
: 底层绘图接口,包含了所有图表对象和布局(graph_objs与其是同名包)io
: 底层接口,用于展示和读写图表colors
: 用于配置图表颜色相关data
: 提供了一些内置的数据集加载功能,例如iris、tips数据集
plotly.express
和plotly.graph_objects
两个子模块即可!在具体使用之前,先介绍下二者的区别和定位:graph_objects
翻译过来,不就是图表对象的意思吗,真·简单粗暴!),并提供了相近的布局设置功能(layout
),类似于matplotlib的角色;么plotly.express
就妥妥的相当于seaborn
的角色!plotly.express
;需要个性化定制,则用plotly.graph_objects
。1使用底层API——graph_objects
graph_objects
之所以叫底层API,是因为暴露了更多的绘图细节和参数,但这利弊各半。一般来说,基于graph_objects
子模块绘图主要分三步:graph_object
),并配置要绘图的数据,例如x和y数据;图表的属性,例如标题、线型等layout
),并配置布局参数,例如图片尺寸、标题等Figure
对象,并接收前两步得到的图表对象和布局对象,而后show出来import plotly.graph_objects as go # 标准引用格式,一般简写为:go
import plotly.express as px # 标准引用格式,一般简写为:px
tips = px.data.tips() # plotly内置数据集:tips
# 使用graph_objects绘图流程需要三步
line = go.Scatter(x=tips['total_bill'], y=tips['tip'], mode='markers') # ① 创建图表对象
layout = go.Layout(autosize=False, width=900, height=600, title='tips') # ② 创建布局对象
go.Figure(data=line ,layout=layout).show() # 创建Figure,接收图表和布局,并加以显示
2使用高级API——express
pd.DataFrame
而存在的,因为其各类绘图函数中的第一个参数都是data_frame
!在设置这一参数之后,x和y的数据只需提供相应的列名即可,例如对于上述同样的绘图需求只需要调用一个函数:import plotly.graph_objects as go # 标准引用格式,一般简写为:go
import plotly.express as px # 标准引用格式,一般简写为:px
tips = px.data.tips() # plotly内置数据集:tips
# 使用express绘图只需要调用一个函数
px.scatter(tips, x='total_bill', y='tip', width=900, height=600, title='tips').show()
plotly提供了将一个matplotlib绘图转化为plotly绘图的接口,一定程度上使得混合使用两个可视化库更为顺滑,但具体使用体验有待尝试;
plotly早期版本还区分online和offline,其中offline就是上述的常规绘图方式,而online方式大概是需要连接plotly的web服务器,不过个人觉得可能并没什么鸟用,所以在V4.0版本移除了。具体参考plotly官网给出的Note:
点击搜索你感兴趣的内容吧
往期推荐
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
推荐 | 青酱
欢迎扫描👇二维码添加关注